home *** CD-ROM | disk | FTP | other *** search
/ Aminet 6 / Aminet 6 - June 1995.iso / Aminet / game / think / Dragon.lha / Dragon / Source / Dragon.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-07-02  |  1.8 KB  |  58 lines

  1. /************************************************************************
  2. *                                                                        *
  3. * Definitions header for Dragon game.                                    *
  4. *                                                                        *
  5. *                        Copyright ©1994 Nick Christie                    *
  6. *                                                                        *
  7. *************************************************************************/
  8.  
  9. #define SCRWIDTH        320            /* current screen specification */
  10. #define SCRHEIGHT        256
  11. #define SCRDEPTH        5
  12.  
  13. #define MAINWFLGS        (WFLG_ACTIVATE|WFLG_SMART_REFRESH|\
  14.                             WFLG_BORDERLESS|WFLG_BACKDROP)
  15. #define MAINIDCMP        (IDCMP_MOUSEBUTTONS|IDCMP_MENUPICK)
  16.  
  17. #define ITEM_NEWGAME    0                /* menu item numbers */
  18. #define ITEM_RESTART    1
  19. #define ITEM_UNDOMOVE    2
  20. #define ITEM_ABOUT        3
  21. #define ITEM_QUIT        4
  22.  
  23. #define IEQ_SHIFT        (IEQUALIFIER_LSHIFT|IEQUALIFIER_RSHIFT)
  24.  
  25. #define TILEWIDTH        27            /* dims of tile images */
  26. #define TILEHEIGHT        32
  27. #define TILEDEPTH        4
  28.  
  29. #define TILEXSPACE        24            /* how much to separate tile images */
  30. #define TILEYSPACE        29            /* by on screen, so that they overlap */
  31.  
  32. #define LEVELXADJ        3            /* how much to subtract from x & y per */
  33. #define LEVELYADJ        3            /* level (z), to create perspective */
  34.  
  35. #define NUMTILES        120            /* total # of tiles */
  36. #define MAXTILETYPE        30            /* 4 tiles of each type, 30 types */
  37.  
  38. #define BOARDX            12            /* number of tiles across, down & high */
  39. #define BOARDY            6
  40. #define BOARDZ            4
  41.  
  42. #define BRDLEFTEDGE        10            /* offset of board from screen topleft */
  43. #define BRDTOPEDGE        50
  44.  
  45. #define SELECTLEFT        4            /* where to place image of currently */
  46. #define SELECTTOP        123            /* selected tile on screen */
  47.  
  48. #define CopyBoard(s,d)    memcpy(d,s,sizeof(BOARD))
  49.  
  50. typedef UBYTE BOARD[BOARDZ][BOARDY][BOARDX];
  51.  
  52. struct StackMove {                    /* To save moves in for undo-ing */
  53.     UBYTE    tile;                    /* The tile type removed */
  54.     UBYTE    pad;
  55.     UBYTE    x1,y1,z1;                /* The co-ordinates of the pair */
  56.     UBYTE    x2,y2,z2;                /* of tiles removed */
  57. };
  58.